#ifndef SERVERMESSAGERECEIVER_H_
#define SERVERMESSAGERECEIVER_H_

#include "MessageReceiver.h"
#include <tr1/memory>

class ServerMessageReceiver : public MessageReceiver
{
public:
    ServerMessageReceiver(const TCPsocket& socket, int id);
    virtual ~ServerMessageReceiver();

    virtual void init();

protected:
    virtual void* createDisconnectEvent(NetworkEvent::Header& header);
    virtual void pushEvent(NetworkEvent::Header& header, void* data);

private:
    int id;
};

typedef std::tr1::shared_ptr<ServerMessageReceiver> ServerMessageReceiverPtr;

#endif
